Self-Similar Medical Communications System

ABSTRACT

A health care monitoring system and network for monitoring a patient&#39;s use of medications, physiological conditions, and/or the environment around the patient. The system takes advantage of a hierarchical nodal network to allow for the transfer of information from sensors to authorized users of the network while providing personal control of sensitive information and providing a distributed database structure for increased data security. In one embodiment, sensors transmit information to wearable personal data recorders that use a combination of random access and overwriting to store information in a time-sequenced organization.

FIELD OF THE INVENTION

The present invention generally relates to the field of medicalmonitoring systems. In particular, the present invention is directed toa self-similar medical communications system.

BACKGROUND

Monitoring, recording, and analyzing data, especially health-relateddata, is of increasing importance, as it is understood that if properlyutilized, patient adherence to a prescribed treatment regimen can beimproved and/or proactive modification of an unsuccessful treatmentregimen can take place. While medical monitoring devices, such as heartmonitors and the like have been in use for quite some time, improvementsin and increasing numbers of medical monitoring devices, as well as thepreference for electronic records, have created correspondingly growingneeds for efficient mechanisms by which to collect, store, protect, andshare information.

To date, medical monitoring equipment has been implemented primarily inpoint-to-point communications systems. In such systems, the source ofthe medical information and the destination for that informationexchange data either over a dedicated connection between the two or overa general-purpose network implementing the Internet Protocol Suite,commonly known as “TCP/IP,” that exchanges the data between the two.More recent technologies have expanded upon the direct communicationconcept to allow various “multicast” or “publish/subscribe” capabilitiesfor the delivery of medical information from medical sensors to multipledestinations. The aforementioned protocols generally make theinformation gathered by a medical information sensor available tomultiple requestors by placing the information in a repository witheither a unique sensor address or sensor subject identifier attached tothe information. Thus, multiple requestors can either coincidentally askfor the medical information associated with the sensor address(multicast system) or all the sensor information associated with thesubject (publish/subscribe system).

Whereas multicast and publish-subscribe approaches provide sensorinformation to multiple requestors (one-to-many capability), the inverseis not generally true. That is, a system having multiple sensors, butone requestor, has additional complexity and requirements. Furthermore,a more useful system is one that providesmultiple-sensor-to-multiple-requestor capabilities, thus allowing formonitoring a multitude of persons performing a variety of physicalactions or experiencing physiological or environmental conditions bymany interested parties. The interested parties may include the patient,and/or the patient's family, doctors, hospitals, researchers, etc.However, under current conditions, a system having these capabilitiesrequires exponential growth in the number of network connections (and innetwork bandwidth) and large databases, which makes accessing datainefficient and potentially risks possible disclosure of large amountsof sensitive information.

Thus, the management of a multitude of sensor data streams for access bymultiple requestors presents major processing, communication, andadministrative challenges. More specifically, medical monitoringapplications demand scalable and secure support for data acquisition,data stream management, and data analysis and visualization. Currently,most applications address these issues by building custom systems thatare invariably complex and difficult to support. Extensibility,scalability, and interoperability are often sacrificed and, generally,the patient loses control over their data. This lost control not onlysubjects the patient to increased risk that their health information maybe wrongly disseminated, but it also leads to a patient's reluctance toimplement a monitoring system when the patient cannot review or controlhis or her own information.

SUMMARY OF THE DISCLOSURE

A medical communications system, comprising: a self-similar nodalnetwork having a plurality of time-sequenced databases arranged in ahierarchical structure and communicatively interconnected with oneanother, the time-sequenced databases having information that is indexedby unique identifier and time, wherein the self-similar nodal networkincludes: a plurality of patient sensors, wherein each of the pluralityof patient sensors is configured for detecting an action by acorresponding object associated with that one of the patient sensors andfor generating, in response to the detecting, a corresponding signal,wherein the corresponding signal contains a record that includes 1) atime of an occurrence of the action and 2) a unique identifier for thecorresponding one of the plurality of patient sensors; and a pluralityof wearable personal data recorders, wherein each of the plurality ofwearable personal data recorders includes a corresponding time-sequenceddatabase of the plurality of time-sequenced databases and is configuredto store the record in time sequence within the first time-sequenceddatabase.

A method of monitoring an action of a user, the method comprising:receiving a first signal that contains a first record including a timeof a first occurrence initiated by a user and a unique identifier;storing the first record in time sequence in a time-sequenced databaseof a wearable personal data recorder worn by the user, wherein the timeof the occurrence and the unique identifier are indexed by the time ofthe occurrence and the unique identifier; receiving a second signal thatcontains a second record including a time of a second occurrenceinitiated by a user and a unique identifier; and organizing the firstrecord and the second record according to a common time series.

A method of retrieving a patient record collected from a wearablepersonal data recorder via a patient sensor, comprising: communicativelyconnecting to a self-similar nodal network that includes a plurality oftime-sequence database nodes, wherein the patient record is stored inthe self-similar nodal network; issuing a retrieve command for thepatient record to the self-similar nodal data network so as to cause theself-similar nodal network to retrieve the patient record from among theplurality of time-sequence database nodes; and retrieving the patientrecord via a nodal chain that includes at least three of the pluralityof time-sequence database nodes.

A machine-readable storage medium containing machine-executable softwareinstructions for performing a method of retrieving a patient recordcollected from a wearable personal record recorder via a patient sensor,the machine-executable software instructions comprising: a first set ofmachine-executable instructions for connecting to a self-similar datanodal network that includes a plurality of time-sequence database nodes,wherein the patient record is stored in the self-similar nodal network;a second set of machine-executable instructions for issuing a retrievecommand for the patient record to the self-similar nodal network so asto cause the self-similar nodal network to retrieve the patient recordfrom among the plurality of time-sequence database nodes; and a thirdset of machine-executable instructions for retrieving the patient recordvia a nodal chain that includes at least three of the plurality oftime-sequence database nodes.

A wearable personal data recorder for relaying patient sensorinformation, the wearable personal data recorder comprising: aprocessor; a memory in communication with the processor, the memorycontaining a time-sequence database and storing a set of instructionsexecutable by the processor for making the wearable personal datarecorder a node in a hierarchical self-similar nodal network; and atransceiver in communication with the processor, the transceiverresponsive to the set of instructions and the processor; wherein the setof machine-readable instructions configures the wearable personal datarecorder to: receive a signal from the adherence sensor, wherein thesignal includes a record; synchronize the record with the time-sequencedatabase; and store the record in the memory.

A method of distributing wearable personal data recorders for ahierarchical self-similar nodal network comprising: distributing to awireless device a set of instructions, wherein the set of instructionsconfigure the wireless device to: receive a record into a time-sequencedatabase; synchronize the record with the time-sequence databaseaccording to common time sequence; receive a request for the record froma record requestor; authorize the release of the record to the recordrequestor; transmit the record from the wireless device to the recordrequestor; and linking the wireless device to a patient sensor that isoperatively coupled to a medical device and generates a signal inresponse to a user performing actions on the medical device, wherein thesignal contains the record.

A method, comprising: implementing a medical regime adherence monitoringsystem for monitoring adherence of one or more people to correspondingrespective medical regimes requiring that actions be taken by the one ormore people, the implementing the medical regime adherence monitoringsystem including: establishing a hierarchical self-similar nodal networkof time-sequence databases; and providing each person of the one or morepeople with a wearable personal data recorder configured: as aself-similar node on the hierarchical self-similar nodal network so asto contain a corresponding time-sequence database of the time-sequencedatabases; to receive user-action signals from a patient sensor that isoperatively coupled to a medical device and generates the user-actionsignals in response to the that person performing actions on the medicaldevice; to store in the corresponding time-sequence database, inresponse to the receipt of the user-action signals, occurrence datacorresponding to the actions; to authorize requests for the occurrencedata made over the hierarchical self-similar nodal network; and totransmit, in response to an authorized request, the occurrence data toanother node of the hierarchical self-similar nodal network.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show aspectsof one or more embodiments of the invention. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is a high-level schematic diagram of a self-similar medicalcommunications system according to an embodiment of the presentinvention;

FIG. 2 is a high-level schematic diagram of a multi-node time-sequencedatabase (TSdB) structure according to an embodiment of the presentinvention;

FIG. 3 is a schematic diagram of the storage structure of a TSdBaccording to an embodiment of the present invention;

FIG. 4 is a high-level schematic diagram of a data-node mirroringoperation according to an embodiment of the present invention;

FIG. 5 is a partial prospective view/partial block diagram of a wearablepersonal data recorder (WPDR) in communication with an adherence sensoraccording to an embodiment of the present invention;

FIG. 6 is a schematic diagram of a self-similar data network accordingto an embodiment of the present invention; and

FIG. 7 is a high-level diagram of a computing environment.

DETAILED DESCRIPTION

Referring now to the drawings, FIG. 1 illustrates an exemplary medicalcommunications system 100 that implements a self-similar nodal network104 to provide an efficient and highly scalable architecture forcollecting, storing, transmitting, requesting, and retrieving varioustypes of personal medical-related information concerning patients thatutilize the system. This information is initially collected using one ormore of various types of patient sensors 108, which includemedical-regime-adherence sensors, physiological sensors, environmentalsensors, and location sensors, that sense and/or measure various useractions and/or other things. It is noted that sensors 108 are denoted“patient” sensors to indicate that they are used to collect informationrelating to particular medical patients that are utilizing system 100.As will become apparent from reading this entire disclosure, a medicalcommunications system of the present disclosure, such as system 100 ofFIG. 1, can be used for a variety of purposes. For example, in oneapplication system 100 can be used to assist patients in monitoringtheir efforts to comply with one or more medical treatment programsprescribed by one or more physicians and can allow for physicianintervention if the prescribed regime is not being followed. Other usesare described below and still others will become apparent to the readerafter reading and understanding this entire disclosure.

Self-similar nodal network 104 has a hierarchical data communicationarchitecture primarily composed of a plurality of communicativelyinterconnected nodes, here nodes 112, each having a correspondingtime-sequenced database (TSdB) 116 and each being capable of receivinginformation from one or more patient sensors 108 directly and/or throughone or more others of nodes 112. In this example, nodes 112 areorganized within a plurality of hierarchical levels, here levels 120A-D.Each level 120A-D has one or more nodes corresponding to that level; inthis example, node 124A resides on level 120A, nodes 128A-B reside onlevel 120B, nodes 132A-F reside on level 120C, and nodes 136A-K resideon level 120D). Nodes 112, as will be described further below, may be,or include, a computer, personal digital assistant (PDA), server, orother device configured to receive, store, and output records (or, moregenerally, information) on network 104. In this example, nodes 112 onlevel 120D are typically wearable personal data recorders (WPDRs) 144,each of which directly collects information from one or more patientsensors 108 associated with that WPDR and stores that information in itsTSdB 116. Nodes 112, including WPDRs 144, are connected to other nodes120 via network communication links 140, each of which can be almost anydata network link, including an Internet link, an intranet link, a linkof a 3G network or other telecom network, as well as a local networklink that uses protocols and communication methodologies known in theart. Information stored in network 104 can be accessed by one or morerequestor applications 148, which may access nodal network 104 undercertain predefined circumstances and conditions (described furtherbelow).

System 100 can be configured to collect information on one or moreactions of each patient, one or more conditions of that patient, one ormore conditions around that patient, and/or that patient's location, viaone or more patient sensors 108, and to store that information in TSdBs116 of one or more nodes 112 of nodal network 104, which effectivelyforms a distributed database. The information stored in TSdBs 116 can beaccessed by an interested party through one or more of nodes 112 on theself-similar nodal network 104 via one or more corresponding requestorapplications 148. For example, any one of WPDRs 144 can receiveinformation from one or more corresponding patient sensors 108, and thatinformation can be queried by at least one of requestor applications 148at a higher node, for example, node 124A, via intermediate nodes 128Aand 132A in network 100. As will become apparent, each requesterapplication 148 can be implemented on any suitable device, such as aserver, personal computer, cell phone, smartphone, personal digitalassistant (PDA), etc., and used by one or more authorized third parties,such as hospitals, physicians, or other interested entities, overself-similar nodal network 104.

For convenience, each of the communicatively interconnected nodes 112may be designated as a member of a family hierarchy, for example, as aparent node, a child node or a sibling node. The use of a familialnaming convention allows for the description of the relative location ofa node 112 within the hierarchy with respect to other nodes in thenetwork. Thus, when a node is connected to and placed hierarchicallyabove another node, it is a parent node, for example, node 124A is aparent node to node 128A. Correspondingly, when a node is connected toand placed hierarchically below another node, it is a child node, forexample, node 132A is a child node to node 128A. Predictably, a node mayconcomitantly be a child node and a parent node. For instance, node 128Ais a parent node to node 132A and node 128A is a child node to node124A. Nodes that share the same parent are sibling nodes. For example,node 132A and node 132B are sibling nodes.

In general, each node 112 in network 104 (FIG. 1) possessestime-sequenced data recording and network connection features that allowfor communicative interconnectivity among the nodes of the network. Inone example, the time-sequenced data recording and network connectionfeatures include instructions that control the interactions betweennodes 112 themselves and also between the nodes and patient sensors 108.In general, these instructions allow for the orderly input and releaseof information into and out of TSdBs 116. The instructions also allowrequestor applications 148 to request single records, contiguoussegments of time-sequenced records for display, analysis, and/or otheruses, for example, to trigger certain actions, such as triggering aphysician's office to contact a patient about adhering to a medicalregimen. Since nodes 112 have common underlying data recording andnetwork connection functionality, they can be considered self-similarwith respect to storing and transmitting data. When combined with thetopology shown in FIG. 1, each node 112 becomes a part of thedistributed database structure with a simple, efficient addressingcapability that allows access to local or remote data using aconsistent, simple tiered naming convention (described in reference toFIG. 2).

The architecture of network 104 can take on any of many forms thatfacilitate communication between nodes 112, with the ultimate design ofthe network typically taking into consideration a number of factors.These factors include, but are not limited to, the number of nodes 112,the network bandwidth available, and the need for scalability of thenetwork. In general, the architecture of network 104 should be highlyscalable to allow for increased numbers of nodes 112 to be added to thenetwork. Increased numbers of nodes 112 will increase the bandwidthnecessary for network links 140.

The topology of a self-similar network of the present disclosure, suchas network 100 of FIG. 1, can be designed with hierarchical levels andwith restrictions on data transfer between levels. For instance, thenetwork at issue may be configured such that each child node has onlyone parent node, while a parent node may have an unlimited number ofchild nodes. This is generally illustrated by the topology of network104. The network may also, or alternatively, be configured with otherrestrictions. For example, the parent-child topology just mentioned mayhave an additional restriction that requires that record transfer canoccur only from a child node to a parent node. This architecture resultsin a distributed hierarchy with increased verticality, which allows forlower network bandwidth requirements as the number, N, of nodes 112increases. For instance, network 104, as shown in FIG. 1, has twentynodes 112 and nineteen network connections 140. An increase in thenumber, N, of nodes 112 in network 104 results in an increase in thenumber of connections equal to N−1. Thus, there is a one-to-one increasein the number of connections with each additional node, which makesscalability of network 104 more manageable.

While in certain embodiments communication can be unrestricted betweenthe nodes of the network, more typically communication between parentnodes and child nodes is limited. For example, while requests forinformation or records can be generated from any node within thenetwork, the transmission of the information or records will only occurfrom a child node to a parent node. This configuration necessitates thatan authorized party be given authorization to access information at aparent node. More detail regarding record movement and access ofinformation and records is discussed in connection with FIGS. 4 and 6below.

Alternatively, another possible architecture of a self-similar networkthat could be used for a medical communication system of the presentdisclosure is a “flat” architecture (not shown) in which each node has adirect connection to all the other nodes in the system. In order toaccommodate an increase in the number of nodes, the number of networkconnections would need to grow geometrically with the number of nodes(i.e., C=N*(N−1), where C is the number of connections and N is thenumber of nodes). Thus, a flat architecture with one hundred nodes wouldhave to have ninety-nine hundred connections, while a system with onethousand nodes would have nine-hundred ninety-nine thousand connections,and so forth. As evident, the number of connections, C, increases by afactor of over one hundred with each ten fold increase in the number ofnodes, N, which may make the scalability of a flat network challengingwhen large numbers of nodes are connected together.

FIG. 2 shows a self-similar nodal system 200 that includes two nodes204A-B, each including a corresponding TSdB 208A-B, that arehierarchically connected together via a network connection 212. As thoseskilled in the art will readily appreciate, nodes 204A-B could beimplemented as any parent-node/child-node pair within a self-similarnetwork of a medical communication system of the present disclosure,such as, for example, within nodal network 104 of FIG. 1. TSdB 208Aincludes a database name 216 and a time sequence 218. Database name 216is an identifier for TSdB 208A that uniquely identifies TSdB 208A amongthe plurality of TSdBs that make up the self-similar nodal network ofwhich TSdB 208A is a part, such as network 104 (FIG. 1). Time sequence218 allows for the sequential organization of patient sensor datastreams received directly from zero or more patient sensors associatedwith node 204A itself, in this example data streams 220A-C from patientsensors 224A-C, and/or received indirectly from, or via, another node,such as data streams 220D-F received from patient sensors 224D-F vianode 204B.

Each patient sensor data stream 220A-C has a corresponding uniqueidentifier 228A-C and contains a corresponding data sequence 232A-C.Each data sequence 232A-C is associated with a respective time-stamp236A-C. The data arriving in each data sensor data stream 220A-C issynchronized with time sequence 218. The synchronization of sensor datafrom streams 220A-C with time sequence 218 allows for the identificationof an instance of sensor data from the data streams by the combinationof database name 216, the respective unique identifier(s), for example,any one or more of unique identifiers 228A-C, and a time on timesequence 218. Multiple instances recorded by one or more patient sensors224 can also be identified by the combination of database name 216, therespective unique identifier(s), and a range of time or multiple rangeson time sequence 218.

Typically, TSdB 208B has the same structure as TSdB 208A, but has adifferent database name 240 and may have a different time sequence 244than time sequence 218 of TSdB 208A. TSdB 208B may also be associatedwith zero or more patient sensor data streams, such as data streams220D-F corresponding to patient sensors 224D-F, respectively. Eachpatient sensor data stream 220D-F has a corresponding unique identifier228D-F and is associated with a corresponding data sequence 232D-F and arespective time-stamp 236D-F. Data from each patient sensor data stream220D-F is synchronized with time sequence 244. The access to any one ormore data sequences 232D-F within TSdB 208B through TSdB 208A vianetwork connection 212 allows for the identification of one instance ofsensor data from sensor data streams 220D-F by the combination ofdatabase name 216, database name 240, one or more of respective uniqueidentifiers 228D-F, and a time on time sequence 244. Multiple instancesrecorded by one or more patient sensors 220 can also be identified bythe combination of database name 216, database name 240, the respectiveunique identifier(s), and a range of time or multiple ranges on timesequence 244.

In an example wherein data in TSdB 208B is transmitted from node 204B tonode 204A, time sequence 244 of TSdB 208B can be synchronized with timesequence 218 of TSdB 208A such that there is a common time sequence forthe newly received data and the data already residing in TSdB 208A. Ingeneral, a common time sequence is a time sequence that results frominterweaving data sequences from two or more TSdBs, such as TSdB 208Aand TSdB 208B. For instance, if an authorized party desired data fromboth data sequence 232A and data sequence 232D, the organization of thetwo data sequences is ideally in a time sequential manner (i.e., acommon time sequence). In this example, a common time sequence can beequal to time sequence 218 or time sequence 244, or to another timesequence such as a real time time-of-day clock.

Additional TSdBs can be added via additional nodes, such as nodessimilar to or the same as nodes 112 (FIG. 1), to form a suitably deepand wide hierarchical network. This ability to connect multiple TSdBsvia the hierarchical nodal structure of a self-similar network of thepresent disclosure, such as network 104, enables a powerful, efficientmeans to address and access data collected by a large number of sensors.

FIG. 3 is directed to an exemplary node 300 that could be used as a nodein a self-similar nodal network of a medical communications system ofthe present disclosure, such as any one of nodes 112 of FIG. 1 and nodes204A-B of FIG. 2. Node 300 includes a TSdB 304 with a time sequence 306.TSdB 304 resides in a memory 308, which in this example includes a cachememory 312 and an archive memory 316. The use of cache memory 312 allowsfor gapless access to a specified amount of most-recent information,while archive memory 316 retains older records. Cache memory 312includes a cache structure 320 that allows for the organization ofsensor data received from one or more patient sensor data streams.Similarly, archive memory 316 includes an archive structure 328 thatallows for the organization of data received from cache memory 312. Inthis example, node 300 also includes authorization units 332 forensuring that data requests from corresponding respective requestingentities 336A-C are indeed authorized. When any of requesting entities336A-C makes a request, the corresponding authorization unit(s) 332authenticates the request before node 300 releases the requested datafrom cache memory 312 and/or archive memory 316 to the requestingentity(ies). As those skilled in the art will readily appreciate, eachrequesting entity 336A-C can be any one of several entities, such as arequestor application (e.g., any of requestor applications 148 ofFIG. 1) and another node, such as any of the parent nodes 112 of FIG. 1and either of nodes 204A-B of FIG. 2.

In this example, node 300, and consequently, TSdB 304, receiveinformation 340 from three data sources 344A-C, which can include, forexample, one or more patient sensors (such as patient sensors 108 ofFIG. 1 and sensors 224A-F of FIG. 2), one or more WPDRs (such as WPDRs144 of FIG. 1), and/or one or more other nodes (such as nodes 104 ofFIG. 1 and nodes 204A-B of FIG. 2), via a corresponding respectivesensor data streams 348A-C. As discussed above relative to FIG. 2,information 340 includes unique identifiers for the various data streams348A-C and data sequences and corresponding time stamps associated withthe data streams. Upon receipt of information 340 or at a timethereafter, TSdB 304 places the information into cache structure 320.

Generally, TSdB 304 organizes information 340 into cache structure 320according to the process described above with respect to FIG. 2. Forexample, when multiple sources 344 are in communication with TSdB 304,cache structure 320 can be configured to organize information 340received from each of sensor data streams 348A-C by its uniqueidentifier (see, e.g., unique identifiers 228A-F of FIG. 2) and timestamp (see, e.g., time stamps 236A-F) associated with the information,according to time sequence 306. This organization allows for thesequential organization of information 340 according to each uniqueidentifier and time sequence 306. Alternatively, TSdB 304 may apply atime stamp upon receiving information 340 and place the information at apoint in cache structure 320 so that it is the most-recently added.

TSdB 304 can be configured to operate in a recording mode in whichinformation 340 placed in cache structure 320 is eventually placed intoarchive memory 316, which contains an archive structure 328 forlong-term storage. For instance, when or if the configured size of cachestructure 320 is reached, new information 340 replaces the oldestinformation in cache memory 312, i.e., the oldest information is movedto archive memory 316 (or discarded if no archive memory 316 exists) andreplaced with the new information. Information 340 in archive memory 316can be organized in the same manner as cache memory 312 (i.e., via, forinstance, unique identifier 228A and time stamp 236A (FIG. 2)). Thus,when new information 340 is added to archive structure 328, if theconfigured size of archive structure is reached, the oldest informationwill be discarded to make room for new information such that acontinuous time sequence of information is maintained. The storage ofinformation 340 into archive structure 328 is flexible, in that theinformation need not be written to the archive structure immediately,but instead may be archived later depending on the record handlingdemands of TSdB 304.

Typically, information 340 in cache memory 312 and archive memory 316can be accessed at any time until the information is overwritten bynewer information and cache structure 320 and archive structure 328 arerandom-access. It is the combination of overwriting the oldestinformation 340 and random access that defines cache structure 320 andarchive structure 328 that TSdB 304 creates when it stores theinformation in cache memory 312 and archive memory 316, respectively,and which distinguishes cache structure 320 and archive structure 328from other storing methodologies, such as a queue or FIFO.

As mentioned above, a function of TSdB 304 is to provide information 340to requesting entities 336A-C. TSdB 304 provides requesting entities336A-C with access to data in cache memory 312 and/or archive memory316, depending on where the data resides within node 300. In thisregard, exemplary TSdB 304 performs two additional important functions:(i) the TSdB allows for requests for data from multiple requestingentities 336, and (ii) the TSdB merges information 340 at authorizationunit 332 from multiple areas of cache structure 320, archive structure328, or a combination of both, into an output stream 352 beforeforwarding the information to the relevant one(s) of requesting entities336A-C. Thus, TSdB 304 provides each requesting entity 336 with a singleinterface to all of the information made available on the network forwhich that requesting entity has proper authorization.

Given the sensitivity of medical records, it is important that anyrequesting entity 336A-C have the proper authorization in order toaccess information 340. Authorization may be granted, for example, bythe sending of an authorization request 356 to the TSdB containing theinformation, such as TSdB 304. For example, requesting entity 336A maysend authorization request 356 to TSdB 304. If TSdB 304 has theappropriate information 340 and authorization request 356 contains theappropriate information, for example, a username and password, the TSdBcan extract the information from the appropriate location, (i.e., cachestructure 320, archive structure 328, or both) and send the informationto requesting entity 336A.

TSdB 304 can be configured to implement a read-lock on information 340being read by any of requesting entities 336A-C from cache structure 320and/or archive structure 328 so that the TSdB does not write over theinformation while it is being read. TSdB 304 will typically also lockinformation 340 it is writing (i.e., “write lock”) to cache structure320 and/or archive structure 328. To achieve this locking, TSdB 304 maymaintain a buffer lock table (not shown) that identifies which region(s)of cache structure 320 and/or archive structure 328 are locked, whetherone or more sensor data streams 348A-C have been received, whether awrite lock is active and the number of read locks. While FIG. 3illustrates one exemplary embodiment of a node suitable for implementingin a self-similar network made in accordance with the presentdisclosure, those skilled in the art will appreciate that the nodes insuch a network can be configured in any of a variety of ways differentfrom node 300 of FIG. 3.

FIG. 4 illustrates a data mirroring technique 400 that can beimplemented in a self-similar data network of the present disclosure,such as network 104 of FIG. 1. Data mirroring technique 400 can beimplemented to create a backup of information 404 residing on a node,such as node 408 in this example, or when there is intermittentconnectivity between nodes, for instance, between a child node and aparent node. Regarding the latter, in FIG. 4, node 408 could be thechild node of parent node 412. In another example, both nodes 408, 412could be siblings to one another. In the case of intermittent networkconnectivity, such as over a wide area network connection (WAN) 416,child node 408 may mirror all or a portion of its information 340 to amirrored child node 408′ where it can be more reliably accessed byparent node 412. Thus, information 404 that is available from a normalpathway 420, i.e., child node 408 to parent node 412, are also availablevia a mirrored pathway 424, i.e., child node 408′ to parent node 412.Mirrored pathway 424 may be more reliable over a local area network(LAN) 428 as compared to the intermittent connection over WAN 416.

FIG. 5 illustrates an exemplary personal medical adherence (PMA) system500 suitable for use in a medical communications system, such as system100 of FIG. 1. In this example, PMA system 500 includes a WPDR 504 incommunication with a patient sensor, which in this instance is anadherence sensor 508 that senses when a user actuates a metered-doseinhaler 512 so as to dispense a particular medicament that is part ofthe user's medical regimen. As those skilled in the art will appreciate,inhaler 512 includes a dispensing device 516 and a medicament canister520 that engages the dispensing device. In this example, adherencesensor 508 is a pressure sensor located on top of medicament canister520. Adherence sensor 508 is triggered whenever a user presses thesensor/medicament canister 520 combination into dispensing device 516.Assuming WPDR 504 is within range of adherence sensor 508, the sensorwirelessly transmits information regarding the actuation of inhaler 512,such as an indication of the actuation and/or duration of the actuation,etc., to the WPDR either simultaneously with the depression of thesensor/medicament canister 520 combination or at a time thereafter.Adherence sensor 508 can be linked, for example, to WPDR 504 via awireless personal area network 522 capable of exchanging informationover short distances from fixed and mobile devices, creating personalarea networks (PANs).

Both WPDR 504 and adherence sensor 508 typically have minimal featuresets that are sufficient to carry out the necessary tasks of eachdevice. Thus, as shown in FIG. 5, WPDR 504 includes a processor 524, amemory 528, a power source 532, and a transceiver 536, while adherencesensor 508 has a switch 538 and a transmitter 540. As would be readilyapparent to those skilled in the art, in alternative embodiments WPDR504 and adherence sensor 508 may have additional features and attributessuch as user interfaces, additional software, etc.

WDPR 504 is configured to collect, store, and release information 544from adherence sensor 508 via a TSdB, such as TSdB 546. TSdB 546 residesin memory 528, which can be configured to include a cache memory, suchas cache memory 312, and an archive memory, such as archive memory 316,and to perform the tasks, aspects, and embodiments described herein.With this configuration, WDPR 504 can be a node in a medicalcommunication system of the present disclosure and TSdB 546 can operateas described relative to FIG. 3.

The passive aggregation of information 544 by WPDR 504 from adherencesensor 508 allows for reduced interaction between the WPDR and the user.This is ideal for medical compliance purposes because a user does notneed to perform additional steps aside from taking their medication inorder for WPDR 504 to record information 544. In addition, WPDR 504 is“wearable” in the sense that it is relatively small and can convenientlyfit in the pocket of a user, be clipped to a belt, worn on a band (e.g.,a wristband), or otherwise worn by the user. For example, in anexemplary embodiment of WPDR 504, instructions 548 are uploaded to apreexisting device having preexisting features and functionality, suchas device 552 shown in FIG. 5, which may be a key fob, phone, PDA, etc.Instructions 548 configure device 552 to perform the tasks, aspects, andembodiments described herein. A PAN can be created between device 552and adherence sensor 508 using Bluetooth®, frequency modulation (FM), orother wireless protocol. For instance, if device 552 is a smartphone,(i.e., a phone with enhanced with personal-computer-like capabilities,such as email) adherence sensor 508 could pair with the smartphone andcommunicate via, for instance, a Bluetooth®, Wi-Fi®, FM connection, orothers known in the art. In some embodiments, a repeater module (notshown) may be used to coordinate between adherence sensor 508 and device552. The repeater module can be configured to convert, for instance, anFM signal received from adherence sensor 508 to a Bluetooth® signalreceivable by device 552. The repeater module may also include anyfeatures necessary, such as a memory and microprocessor, to temporarilyhold and retransmit information to device 552 if the device happens tobe out of range. As those skilled in the art would likely appreciate,other coupling mechanisms and connectivity intermediaries are availablethat would connect device 552 and adherence sensor 508.

Processor 524 controls the operation of WPDR 504 and transceiver 536receives information 544 from adherence sensor 508 and sends informationto suitable requestors (not shown). Those skilled in the art willunderstand that processor 524 and transceiver 536 can be of aconventional design and, therefore, need not be described in detailherein. Example processors include, but are not limited to, amicrocontroller, embedded controller, CPU, digital signal processor, andany combinations thereof. WPDR 504 may include one or more processorsthat provide the WPDR with additional processing functionality, ifdesired. In an alternative embodiment, processor 524 may be combined ina single integrated circuit element with transceiver 536.

Power source 532 provides the energy necessary to operate WPDR 504. Inone example, power source 532 is a disposable battery; however, as wouldbe understood by those skilled in the art, power source 532 can be arechargeable battery, a hard wire connection to an electricity source, aphotovoltaic cell, a scavenged power source, charged capacitors, etc.

Optionally, WPDR 504 may include a user interface 556, such as akeyboard, touch-screen, voice-command functions, etc., and may includeother software packages for increased functionality if desired by auser.

When adherence sensor 508 is used in combination with inhaler 512, theadherence sensor can be attached to medicament canister 520 in anysuitable manner, for example, via adhesives or a snap-in/snap-on design.In order to preserve its original FDA-approved medication deliveryperformance, adherence sensor 508 should not interfere with or alter theinhaler 512. In this regard, adherence sensor 508 can have a housing 558that has a size and configuration that does not extend beyond theperiphery of the end surface of medicament canister 520. In certainembodiments, adherence sensor 520 may be disposable and include aprotective cap (not shown) to prevent unintentional activation.

While in the example just described adherence sensor 508 is a simpleswitch for determining when a user has dispensed an aerosol medicamentfrom inhaler 512, other types of patient sensors compatible with amedical communications system of the present disclosure can beconfigured to be placed on other medical dispensers or devices, atvarious positions on a users body, and/or in the environment of the userin order to collect data on various activities of a user. For example,adherence sensor 508 may also be mounted in or on any number ofmedicament or medication, which may be any kind of medicine,prescription or otherwise and may be in any form, such as, pills,salves, creams, powders, ointments, capsules, injectable medications,drops, vitamins and suppositories.

Adherence sensor 508 may also be a physiological sensor configured tomonitor a physiological condition of a person, including, but notlimited to, body temperature, blood pressure, blood sugar levels, andheart rate, by placing the physiological sensor at the medicallyappropriate locations on the user's body. The information received froma physiological sensor can be information such as, but not limited to,breathing information that may help physicians diagnose the efficacy ofa certain treatment regimen. Further information may be generated withenvironmental sensors that monitor conditions around the user or onarticles with which the user interacts (such as a weight scale).Environmental sensors may be stand-alone sensors that reside around apatient, or may be integrated with another sensor, such as withadherence sensor 508. Adherence sensors 508 may also include the abilityto give global positioning coordinates. As will be apparent to a personskilled in the art, if more than one adherence sensor 508 is used, thesensors need not all be of the same kind.

In an exemplary embodiment of adherence sensor 508, the adherence sensorcan include a semiconductor logic device 560, for example, amicrocontroller, microprocessor, or microserver, and also a clock 564,and a memory 568. In this embodiment, adherence sensor 508 can beconfigured to retransmit information 544 when it is detected that WPDR504 is out of range, thus alleviating concerns about possible losses ofinformation because of an out of range WPDR.

In another embodiment, adherence sensor 508 may additionally include areceiver 572 (or alternatively, transmitter 540 may be combined withreceiver 572 as with transceiver 536). If WPDR 504 is within range ofadherence sensor 508, semiconductor logic device 560 transmitsinformation 544, and any additional information stored in memory 564, tothe WDPR. Then, semiconductor logic device 560 can confirm that WPDR 504received information 544 and, if so, delete the information stored inmemory 564.

In yet another embodiment, adherence sensor 508 periodically “polls” forother nearby adherence sensors that belong to the same patient (forexample, a patient may have multiple inhalers, each with the adherencesensor described previously, or a patient may have any combination ofsensors, i.e., physiological, environmental, etc., describedpreviously). Upon detection of another adherence sensor 508, bothadherence sensors exchange all stored information 544, thus providingeach adherence sensor 508 with a complete set of information. Then, whenone adherence sensor 508 is subsequently brought within range of WPDR504, all information 544 available on adherence sensor 508 istransmitted to the WPDR. Information conveyed by the transmission toWPDR 544 could also be stored so that subsequent inter-attachmentcommunications, i.e., communications between the two previouslyinter-connected adherence sensors 508, would result in the deletion ofalready-transmitted information 544.

The aforementioned adherence sensors 508, when used in combination withone another and with a nodal network, such as network 104, can giveinterested entities a wide variety of information. For instance, apatient's use of an inhaler (recorded by adherence sensor) and apatient's breathing patterns (recorded by physiological sensor) may betransmitted via transmitter 540 to the WPDR 504 (in information 544),which relays the information and its location, via, for instance, GPScoordinates, to the network, such as network 104 (FIG. 1) whenrequested. Pollen data from a local environmental sensor may then beinterwoven with the other collected information 544, using the timestamp associated with the information, so that interested parties mayanalyze local pollen counts from multiple WPDRs by region and timeperiod. Thus, a doctor for a patient with asthma can monitor thepatient's use of an inhaler, the patient's breathing habits before andafter the use of the inhaler, the pollen count around the patient beforethe time of use of the inhaler, and where the patient was at the time ofuse. This information can help the doctor determine the appropriatetreatment regimen for the patient.

As those skilled in the art will appreciate, switch 538 may be any oneof many switches known in the art (such as mechanical, piezoelectric,electromechanical, or electronic) that are capable of monitoring theoccurrence of an event or action of the user, typically related to acutechanges in the switches. Switch 538 may be a dumb switch that senses atleast one parameter and communicates an indication of the sensedparameter to WPDR 504, or an intelligent switch capable of someinformation processing. Switch 538 may be constructed out of sensorsknown in the art such as an accelerometer, pressure sensor, heat sensor,proximity sensor, contact sensor, strain gage, or most any other type ofcommercially available sensor, as well as sensors specially configuredto operate within PMA system 500. As switch 538 can take on many formsknown in the art, it is also understood that information 544 may containadditional information that may be provided by the switch in addition tothe identifier associated with the patient sensor, unique identifier,such as unique identifier 228A (FIG. 2), and the time stamp relating tothe occurrence of the event or action of the user, such as time stamp236A (FIG. 2). This additional information 544 may include globalpositioning coordinates, pollen counts, temperature, barometricpressure, wind speed, or physiological characteristics (describedabove).

Typically, transmitter 540 is in electronic communication with switch538 such that when the switch has been activated, transmitter 540 sendsinformation 544 to WPDR 504. Alternatively, transmitter 540, rather thansending the information immediately upon the information being sensed byswitch 538, may queue up and send at a later time or resend theinformation repeatedly until receipt of the information. As would bereadily apparent to those skilled in the art, transmitter 540 may be anyelectronic device, e.g., radio (frequency modulated, amplitudemodulated, etc.), optical, magnetic, hard-wired, etc., that generatesand amplifies a carrier wave, modulates it with a meaningful signal andradiates the resulting signal. Alternative techniques and methodologiesfor facilitating information transfer between WPDR 504 and adherencesensor 508 are known in the art.

Communication protocols include any low power wireless communicationprotocol in the radio, microwave, or infrared frequency that is the sameas or similar to, but not limited to, Bluetooth®, IEEE 802.11 (Wi-Fi®),IEEE 802.15.4-2003(Zigbee), FM, infrared, irDA, UWB, and Zwave. Data andauthentication information are transmitted according to the standards ofthe associated communication protocol.

In some circumstances, adherence sensor 508 may not be in reliable radiocommunication range of WPDR 504, the adherence sensor may periodicallytransmit the most recent information 544, each with a time stamprelative to the current time. Adherence sensor 508, may include, butdoes not necessarily require, a real-time clock (not shown) synchronizedto the time-of-day, as the associated WPDR 504 can derive actual eventtimes given the relative times and its own time-of-day clock. To carryout either of these aforementioned alternatives, adherence sensor 508can maintain a short event-buffer and a non-synchronized internal clockfor the relative time stamps. Alternatively, adherence sensor 508 maytransmit its unique identifier, such as unique identifier 228A (FIG. 2),and/or other information or data, via its radio transmitter to WPDR 504which may record the time-of-arrival of the associated event using itsown time-of-day clock.

FIG. 6 shows a medical communications system 600 with a self-similarnetwork 602 that includes a plurality of nodes 604 at a plurality oflevels 608A-G. In this example, ones of patient sensors 612 are linkedto respective ones of WPDRs 616 as depicted in FIG. 6. Each WPDR 616stores information 620 from each patient sensor 612 that is linked tothat WPDR (e.g., WPDR 616A receives information from two patient sensors612A-B), for example, in the manner described above relative to FIG. 5.Information 620 from patient sensors 612 are stored initially in TSdBs(not shown, but each can be like TSdB 304 of FIG. 3) residing incorresponding respective ones of WPDRs 616.

Other levels of exemplary network 600 are as follows: at level 608B,patients' personal computers; at level 608C, physicians; at level 608D,a hospital with which the physicians at level 608C are affiliated; atlevel 608E, a state health department of the state in which the patientslive; at 608F, a federal health department; and, at 608G, the WorldHealth Organization (WHO). Although nodes 604 at levels 608 D-F areshown as singular nodes for convenience, it should be understood thatmore nodes would typically be interconnected at each of these levels.For instance, level 608F, which is the federal, or country, level, couldhave multiple nodes corresponding to multiple participating countriesthat report to the WHO. Similarly, level 608E, the state level, couldhave nodes corresponding to all state health departments of all U.S.states/territories. Levels 616A-D are similarly shown truncated forconvenience.

Network 600 allows for a highly flexible and secure approach to managinginformation 620. For instance, network 600 can be configured such thateach of the entities (i.e., patients, physicians, hospitals, statehealth departments, etc.) residing on levels 608B to 608G can havedifferent needs for information 620 and can have different access to theinformation at lower-level nodes. For example, if the WHO at node 608Gwould like to have access to information 620 on WPDR 616A at node 604A,the WHO would send a request through node 604F, node 604E, node 604D,node 604C, node 604B, and finally to node 604A, via network connections624. In one example, each node 604 along a requested path includes anauthorization unit (not shown, but such as authorization unit 332 inFIG. 3) that authorizes requests for information along various chains ofnodes to foster data security. If the WHO provided the propercredentials to the authorization unit of each node 604 along the requestpath, all or a portion of information 620 stored on WPDR 616A would besent along the same path to node 604G, (i.e., from node 604B to node604C to node 604D to node 604E to node 604F and finally to node 604G),depending on the amount of information requested.

In some circumstances it may not be necessary for the WHO to send arequest to WPDR 616A to obtain information 620. This may occur, forexample, if one of the intervening nodes, such as node 604D, has alreadyrequested and obtained the information from WPDR 616A. In that case, theWHO only has to send a request from node 604G to node 604F to node 604Eto node 604D.

An alternative request scenario could occur if the request comes from anode 604 that is not hierarchically connected above the source ofinformation 620. For example, if a physician located at node 604Hdesired to have information 620 from 616A, the physician would be ableto send a request from node 604H to node 604D to node 604C to node 604Bto WPDR 616A. Typically, even if WPDR 616A approved of sendinginformation 620 to node 604H, the information could only be transmittedas far as node 604D. This limitation on the transfer of information onnetwork 602 reduces the number of network connections required innetwork 602 and thus improve the scalability of network 600. In anotherembodiment, information 620 may be transmitted to the physician at node604H with the acknowledgement that his architecture may limit futureexpansion of network 600.

Each node, for example, node 604C, node 604D, etc., in network 600 cancontain information 620, or obtain the information, from either anexternal patient sensor 612 or from another connected node 604 so longas the node has appropriate authorization. Certain ones of parent nodes604 in network 600 may serve to collect information 620 from arelatively larger number of WPDRs 616, for instance, node 604C maycollect information from WPDRs 616A-D (nodes 604A, 604I, 604J, and604K). As mentioned previously, typically, node 604C would need to haveaccess to each WPDR 616, or said another way, the nodes access could berestricted by the user of any one of the WPDRs. For example, the user ofWPDR 616A may allow for transfer of information 620 to a computer atnode 604B, but restrict access of his/her information beyond this node.However, user of WPDR 616B may allow for transfer of information 620 tothe computer at 604B and then allow for his/her doctor to access theinformation on the computer at node 604C.

This situation may occur when, for instance, WPDR 616A is used by achild and WPDR 616B is used by a caretaker (e.g., a parent). Thecaretaker may make the decision that while they would like to monitorthe child's activities on a computer at node 604B, there is no need toallow others access to information 620 of the child.

The structure of network 602 allows for many requestors to accessinformation crucial to the efficient management of health care services.For instance, the WHO may desire to investigate the usage of certaindrugs and the reduction in disease in a certain region of the world. Inthis hypothetical example, the WHO may retrieve drug usage, i.e.,information 620, from a plurality of WPDRs 616 that are located in theregion of interest (identified by global positioning coordinates). TheWHO could then compare the actual usage of the drug in the region to thedecreased incidence of disease (which may come from doctors, hospitals,state agencies, etc. either on network 602 or via other databases). Thisinformation could be used to evaluate whether inconsistent use of thedrug is causing the incidence of disease to be higher than expected,rather than the inefficacy of the drug itself. The WHO may then be ableto take this information to issue guidance for better treatmentoptions/protocols.

In another example, groups of users could be put on trials ofmedications, the usage of which needed to be closely monitored. Again,system 100 would provide the ability to carefully manage clinical trialsand the ability for the trial managers to identify problems with thetrial procedures or the drug. In another alternative, an interestedentity, such as the state health agency, may be able to monitor people'sactivities in locations that may have hazardous conditions. For example,the state may provide patient sensor 612A-B to the patient having WPDR616A. Patient sensor 612A can be a physiological sensor that monitorspollutants in the body and patient sensor 612B can be a location sensorthat gives the patient's global positioning coordinates. With thisinformation, the state health agency can monitor increases in pollutantsin a person when they are in the vicinity of certain locations.Alternatively or additionally, the state may be able to find out wherehazardous sites are by monitoring increases in body pollutants and usingthe global positioning coordinates to locate the hazardous site. In yetanother alternative, patient sensors can be environmental sensors thatare widely distributed to users by an interested entity, such as thestate health agency or other organization. The information received fromthe environmental sensors may be used to create microclimate maps thatcould be available for users to identify pollution zones or for theanalysis of weather patterns.

As would be evident to a person skilled in the art, system 600 providesextensive monitoring and reporting capabilities and has a highlyexpandable network structure that would allow for significant datacollection without the need for a large storage database. System 600also provides an inherent level of security as sensitive information iscontrolled by the collector of the data and the information is notstored in a single or even several large databases. Thus, the structureof system 600 guards against the possible massive undesireddissemination of sensitive information.

It is to be noted that one or more of the aspects and embodimentsdescribed herein may be conveniently implemented using a machine (e.g.,a computing device) programmed and communicating with other specializedcomponents according to the teachings of the present specification, aswill be apparent to those of ordinary skill in the art. Appropriatesoftware coding can readily be prepared by persons skilled in thesoftware art based on the teachings of the present disclosure, as willbe apparent to those of ordinary skill.

Such software may be a computer program product that employs amachine-readable medium. A machine-readable medium may be any mediumthat is capable of storing (i.e., a storage medium) and/or encoding asequence of instructions (e.g., a signal) for execution by a machine(e.g., a computing device) and that causes the machine to perform anyone of the methodologies and/or embodiments described herein. Examplesof a machine-readable storage medium include, but are not limited to, amagnetic disk (e.g., a conventional floppy disk, a hard drive disk), anoptical disk (e.g., a compact disk “CD”, such as a readable, writeable,and/or re-writable CD; a digital video disk “DVD”, such as a readable,writeable, and/or rewritable DVD), a magneto-optical disk, a read-onlymemory “ROM” device, a random access memory “RAM” device, a magneticcard, an optical card, a solid-state memory device (e.g., a flashmemory), an EPROM, an EEPROM, and any combinations thereof. Amachine-readable medium, as used herein, is intended to include a singlemedium as well as the possibility of including a collection ofphysically separate media, such as, for example, a collection of compactdisks or one or more hard disk drives in combination with a computermemory.

FIG. 7 shows a diagrammatic representation of one implementation of amachine/computing device 700 that may be used in a self-similar nodalnetwork, such as network 104, within which a set of instructions forcausing the node to perform any one or more of the aspects and/ormethodologies of the present disclosure may be executed. Device 700includes a processor 704, such as processor 524 and a memory 708, suchas memory 528, that communicate with each other, and with othercomponents, via a bus 716. Processor may also include (e.g., stored onone or more machine-readable media) instructions (e.g., software) 720embodying any one or more of the aspects and/or methodologies of thepresent disclosure. Bus 716 may include any of several types ofcommunication structures including, but not limited to, a memory bus, amemory controller, a peripheral bus, a local bus, and any combinationsthereof, using any of a variety of architectures.

Memory 708 may include various components (e.g., machine readable media)including, but not limited to, a random access memory component (e.g., astatic RAM, or “SRAM”, a dynamic RAM, or “DRAM”, etc.), a read-onlycomponent, and any combinations thereof. In one example, a basicinput/output system 724 (BIOS), including basic routines that help totransfer information between elements within device 700, such as duringstart-up, may be stored in memory 708. Memory 708 may also include(e.g., stored on one or more machine-readable media) instructions (e.g.,software) 720 embodying any one or more of the aspects and/ormethodologies of the present disclosure. In another example, memory 708may further include any number of program modules including, but notlimited to, an operating system, one or more application programs, otherprogram modules, program data, and any combinations thereof.

Device 700 may also include a storage device 728. Examples of a storagedevice (e.g., storage device 728) include, but are not limited to, ahard disk drive for reading from and/or writing to a hard disk, amagnetic disk drive for reading from and/or writing to a removablemagnetic disk, an optical disk drive for reading from and/or writing toan optical media (e.g., a CD, a DVD, etc.), a solid-state memory device,and any combinations thereof. Storage device 728 may be connected to bus716 by an appropriate interface (not shown). Example interfaces include,but are not limited to, SCSI, advanced technology attachment (ATA),serial ATA, universal serial bus (USB), IEEE 1395 (FIREWIRE), and anycombinations thereof. In one example, storage device 728 may beremovably interfaced with device 700 (e.g., via an external portconnector (not shown)). Particularly, storage device 728 and anassociated machine-readable medium 732 may provide nonvolatile and/orvolatile storage of machine-readable instructions, data structures,program modules, and/or other data for device 700. In one example,instructions 720 may reside, completely or partially, withinmachine-readable medium 732. In another example, instructions 720 mayreside, completely or partially, within processor 704.

Device 700 may also include a connection to another device 700 in thenetwork. Another device 700 may be interfaced to bus 716 via any of avariety of interfaces (not shown) including, but not limited to, aserial interface, a parallel interface, a game port, a USB interface, aFIREWIRE interface, a direct connection to bus 716, and any combinationsthereof. Alternatively, in one example, a user of device 700 may entercommands and/or other information into device 700 via an input device(not shown). Examples of an input device include, but are not limitedto, an alpha-numeric input device (e.g., a keyboard), a pointing device,a joystick, a gamepad, an audio input device (e.g., a microphone, avoice response system, etc.), a cursor control device (e.g., a mouse), atouchpad, an optical scanner, a video capture device (e.g., a stillcamera, a video camera), touchscreen, and any combinations thereof.

A user may also input commands and/or other information to device 700via storage device 728 (e.g., a removable disk drive, a flash drive,etc.) and/or a network interface device 736. A network interface device,such as network interface device 736 may be utilized for connectingdevice 700 to one or more of a variety of networks, such as network 740,and one or more remote devices 744 connected thereto, such as adherencesensor 508. Examples of a network interface device include, but are notlimited to, a network interface card, a modem, and any combinationthereof. Examples of a network include, but are not limited to, a widearea network (e.g., the Internet, an enterprise network), a local areanetwork (e.g., a network associated with an office, a building, a campusor other relatively small geographic space), a telephone network, adirect connection between two computing devices, and any combinationsthereof. A network, such as network 740, may employ a wired and/or awireless mode of communication. In general, any network topology may beused. Information (e.g., data, instructions 720, etc.) may becommunicated to and/or from device 700 via network interface device 736.

Device 700 may further include a video display adapter 748 forcommunicating a displayable image to a display device 752. Examples of adisplay device 752 include, but are not limited to, a liquid crystaldisplay (LCD), a cathode ray tube (CRT), a plasma display, and anycombinations thereof.

In addition to display device 752, device 700 may include a connectionto one or more other peripheral output devices including, but notlimited to, an audio speaker, a printer, and any combinations thereof.Other peripheral output devices may be connected to bus 716 via aperipheral interface 756. Examples of a peripheral interface include,but are not limited to, a serial port, a USB connection, a FIREWIREconnection, a parallel connection, a wireless connection, and anycombinations thereof.

A digitizer (not shown) and an accompanying pen/stylus, if needed, maybe included in order to digitally capture freehand input. A pendigitizer may be separately configured or coextensive with a displayarea of display device 752. Accordingly, a digitizer may be integratedwith display device 752, or may exist as a separate device overlaying orotherwise appended to display device 752.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions, and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present invention.

1. A medical communications system, comprising: a self-similar nodalnetwork having a plurality of time-sequenced databases arranged in ahierarchical structure and communicatively interconnected with oneanother, said time-sequenced databases having information that isindexed by unique identifier and time, wherein said self-similar nodalnetwork includes: a plurality of patient sensors, wherein each of saidplurality of patient sensors is configured for detecting an action by acorresponding object associated with that one of said patient sensorsand for generating, in response to the detecting, a correspondingsignal, wherein the corresponding signal contains a record thatincludes 1) a time of an occurrence of the action and 2) a uniqueidentifier for the corresponding one of said plurality of patientsensors; and a plurality of wearable personal data recorders, whereineach of said plurality of wearable personal data recorders includes acorresponding time-sequenced database of said plurality oftime-sequenced databases and is configured to store the record in timesequence within said first time-sequenced database.
 2. A systemaccording to claim 1, wherein the record further includes data regardingthe action that is indexed based on the time of the action and theunique identifier.
 3. A system according to claim 1, wherein each ofsaid plurality of wearable personal data recorders uses substantiallyidentical logic for storing and transmitting the record.
 4. A systemaccording to claim 1, wherein at least one of said plurality of wearablepersonal data recorders transmits a first portion of said correspondingtime-sequenced database that contains one or more occurrences of theaction to another one of said plurality of wearable personal datarecorders, wherein said another one of said plurality of wearablepersonal data recorders: has a second portion of said correspondingtime-sequenced database that contains one or more of the occurrences theaction, and interweaves said first portion into said second portionaccording to a common time sequence.
 5. A system according to claim 1,wherein one or more of said plurality of patient sensors is configuredto retransmit the record or a plurality of records.
 6. A systemaccording to claim 1, wherein one or more of said plurality of patientsensors is for an inhaler including a medicament canister with a firstportion and a dispensing device surrounding the medicament canister, andwherein said patient sensor comprises: a housing coupleable with thefirst portion of the medicament canister, said housing being sized andconfigured to avoid contact with the dispensing device during operationof the inhaler; a switch associated with said housing, said switch beingactivated by physical pressure and without regard to whether or notmedicine is exiting the medicament canister, wherein application ofphysical pressure to said switch generates the record; and a transceiverfor transmitting the record and for receiving a communication from awearable personal data recorder or another of said plurality of patientsensors.
 7. A system according to claim 5, wherein said one or more ofsaid plurality of patient sensors includes a semiconductor logic deviceconnected to said switch for creating and storing information regardinguse of said sensor.
 8. A method of monitoring an action of a user, themethod comprising: receiving a first signal that contains a first recordincluding a time of a first occurrence initiated by a user and a uniqueidentifier; storing the first record in time sequence in atime-sequenced database of a wearable personal data recorder worn by theuser, wherein the time of the occurrence and the unique identifier areindexed by the time of the occurrence and the unique identifier;receiving a second signal that contains a second record including a timeof a second occurrence initiated by a user and a unique identifier; andorganizing the first record and the second record according to a commontime series.
 9. A method according to claim 8, further comprisingcommunicating one or both of the first and second records with a node ina self-similar nodal network, the self-similar nodal network having aplurality of interconnected time-sequenced databases arranged in ahierarchical structure, each of the plurality of interconnectedtime-sequenced databases having data that is indexed by uniqueidentifier and time.
 10. A method according to claim 8, wherein each ofthe first and second records further includes data regarding the actionthat is indexed based on the time of the occurrence and the uniqueidentifier.
 11. A method according to claim 8, wherein said organizingresults in a combined occurrence database searchable by the time of theoccurrence and the unique identifier.
 12. A method according to claim11, further comprising requesting a portion of the combined occurrencedatabase.
 13. A method according to claim 11, wherein each of the firstand second records further includes data regarding the action and globalpositioning system coordinates corresponding to a global positioningsystem location of the user at the time of occurrence.
 14. A methodaccording to claim 13, wherein said organizing results in a combinedoccurrence database searchable by the time of the occurrence, the uniqueidentifier, the data, and the global positioning system coordinates. 15.A method according to claim 14, further comprising requesting a portionof said combined occurrence database, wherein the portion is determinedby a set of the global positioning system locations and a plurality ofthe time of the occurrence.
 16. A method of retrieving a patient recordcollected from a wearable personal data recorder via a patient sensor,comprising: communicatively connecting to a self-similar nodal networkthat includes a plurality of time-sequence database nodes, wherein thepatient record is stored in the self-similar nodal network; issuing aretrieve command for the patient record to the self-similar nodal datanetwork so as to cause the self-similar nodal network to retrieve thepatient record from among the plurality of time-sequence database nodes;and retrieving the patient record via a nodal chain that includes atleast three of the plurality of time-sequence database nodes.
 17. Amethod according to claim 16, wherein the patient record includes a timeof an occurrence and a unique identifier.
 18. A method according toclaim 17, wherein the patient record further includes a datumcorresponding to the time of an occurrence.
 19. A method according toclaim 16, wherein said retrieving the patient record includes retrievingthe patient record from more than one of the plurality of time-sequencedatabase nodes.
 20. A machine-readable storage medium containingmachine-executable software instructions for performing a method ofretrieving a patient record collected from a wearable personal recordrecorder via a patient sensor, said machine-executable softwareinstructions comprising: a first set of machine-executable instructionsfor connecting to a self-similar data nodal network that includes aplurality of time-sequence database nodes, wherein the patient record isstored in said self-similar nodal network; a second set ofmachine-executable instructions for issuing a retrieve command for thepatient record to the self-similar nodal network so as to cause theself-similar nodal network to retrieve the patient record from among theplurality of time-sequence database nodes; and a third set ofmachine-executable instructions for retrieving the patient record via anodal chain that includes at least three of the plurality oftime-sequence database nodes.
 21. A method according to claim 20,wherein the patient record includes a time of an occurrence and a uniqueidentifier.
 22. A method according to claim 21, wherein the patientrecord further includes a datum corresponding to the time of anoccurrence.
 23. A method according to claim 20, wherein said third setof machine-executable instructions includes machine-executableinstructions for retrieving the patient data from more than one of theplurality of time-sequence database nodes.
 24. A wearable personal datarecorder for relaying patient sensor information, said wearable personaldata recorder comprising: a processor; a memory in communication withsaid processor, said memory containing a time-sequence database andstoring a set of instructions executable by said processor for makingthe wearable personal data recorder a node in a hierarchicalself-similar nodal network; and a transceiver in communication with saidprocessor, said transceiver responsive to said set of instructions andsaid processor; wherein said set of machine-readable instructionsconfigures the wearable personal data recorder to: receive a signal fromthe adherence sensor, wherein the signal includes a record; synchronizethe record with said time-sequence database; and store the record insaid memory.
 25. A wearable personal data recorder according to claim24, wherein said set of instructions further configures the wearablepersonal data recorder to: receive a request for the record from arequestor node in the hierarchical self-similar nodal network;determine, in response to the request, whether or not release of therecord to the requestor node is authorized; and if the release of therecord is authorized, transmit the record to the requestor node.
 26. Awearable personal data recorder according to claim 24, wherein therecord includes a unique identifier and a time of occurrence of anaction.
 27. A method of distributing wearable personal data recordersfor a hierarchical self-similar nodal network comprising: distributingto a wireless device a set of instructions, wherein the set ofinstructions configure the wireless device to: receive a record into atime-sequence database; synchronize the record with the time-sequencedatabase according to common time sequence; receive a request for therecord from a record requestor; authorize the release of the record tothe record requestor; transmit the record from the wireless device tothe record requestor; and linking the wireless device to a patientsensor that is operatively coupled to a medical device and generates asignal in response to a user performing actions on the medical device,wherein the signal contains the record.
 28. A method according to claim27, wherein the hierarchical self-similar nodal network includes parentnodes and child nodes, wherein every parent node has one or morechildren nodes but every child node has only one parent node.
 29. Amethod according to claim 27, wherein said distributing to a wirelessdevice a set of instructions includes a set of instructions to furtherconfigure the wireless device to: receive environmental signals from anenvironmental sensor that generates the environmental signals; store inthe time-sequence database, in response to the receipt of theenvironmental signals, environmental data carried on the environmentalsignals; authorize requests for the environmental data made over thehierarchical self-similar nodal network; and transmit, in response to anauthorized request, the environmental data to the record requestor usingthe hierarchical self-similar nodal network.
 30. A method according toclaim 29, further comprising: distributing wearable personal datarecorders containing the set of instructions, wherein each of thewearable personal data recorders is configured as a self-similar node onthe hierarchical self-similar nodal network so as to contain atime-sequence database.
 31. A method according to claim 30, wherein saiddistributing the wearable personal data recorders includes distributingwearable personal data recorders that each include a global positioningsystem that generates global positioning coordinates of that wearablepersonal data recorder and that is further configured to store in thecorresponding time-sequence database, in response to the receipt of theenvironmental signals, global positioning coordinates.
 32. A methodaccording to claim 30, wherein said distributing the wearable personaldata recorders includes distributing wearable personal data recorderseach further configured to store, in response to the receipt of theenvironmental signal, in the corresponding time-sequence database,environmental data.
 33. A method, comprising: implementing a medicalregime adherence monitoring system for monitoring adherence of one ormore people to corresponding respective medical regimes requiring thatactions be taken by the one or more people, said implementing themedical regime adherence monitoring system including: establishing ahierarchical self-similar nodal network of time-sequence databases; andproviding each person of the one or more people with a wearable personaldata recorder configured: as a self-similar node on the hierarchicalself-similar nodal network so as to contain a correspondingtime-sequence database of the time-sequence databases; to receiveuser-action signals from a patient sensor that is operatively coupled toa medical device and generates the user-action signals in response tothe that person performing actions on the medical device; to store inthe corresponding time-sequence database, in response to the receipt ofthe user-action signals, occurrence data corresponding to the actions;to authorize requests for the occurrence data made over the hierarchicalself-similar nodal network; and to transmit, in response to anauthorized request, the occurrence data to another node of thehierarchical self-similar nodal network.
 34. A method according to claim33, wherein said establishing the hierarchical self-similar nodalnetwork includes establishing the hierarchical self-similar nodalnetwork so that the hierarchical self-similar nodal network includesparent nodes and child nodes, wherein every parent node has one or morechildren nodes but every child node has only one parent node.
 35. Amethod according to claim 33, wherein the patient sensor is configuredto retransmit the user-action signals.
 36. A method according to claim33, wherein the medical device is an inhaler including a medicamentcanister with a first portion and an dispensing device surrounding themedicament canister, and wherein the patient sensor comprises: a housingcoupleable with the first portion of the medicament canister, thehousing being sized and configured to avoid contact with the dispensingdevice during operation of the inhaler; a switch associated with thehousing, the switch being activated by physical pressure and withoutregard to whether or not medicine is exiting the medicament canister,wherein application of physical pressure to the switch generates theuser-action signals; and a transceiver for transmitting the user-actionsignals and for receiving a communication from the wearable personaldata recorder or another patient sensor.
 37. A method according to claim36, wherein the patient sensor includes a semiconductor logic deviceconnected to the switch for creating and storing information regardinguse of the patient sensor.
 38. A method according to claim 33, whereinsaid providing each person with the wearable personal data recorderincludes providing each person with a wearable personal data recorderthat is further configured to: receive environmental signals from anenvironmental sensor that generates the user-environmental signals;store in the corresponding time-sequence database, in response to thereceipt of the environmental signals, environmental data; authorizerequests for the environmental data made over the hierarchicalself-similar nodal network; and transmit, in response to an authorizedrequest, the environmental data to the another node of the hierarchicalself-similar nodal network.
 39. A method according to claim 38, whereinsaid providing each person with the wearable personal data recorderincludes providing each person with the wearable personal data recorderthat includes a global positioning system that generates globalpositioning coordinates of the wearable personal data recorder and thatis further configured to store in the corresponding time-sequencedatabase, in response to the receipt of the environmental signals,global positioning coordinates.
 40. A method according to claim 38,wherein said providing each person with the wearable personal datarecorder includes providing each person with a wearable personal datarecorder that is further configured to, in response to the receipt ofthe patient signal, store in the corresponding time-sequence databaseenvironmental data corresponding to the actions.